
#ifndef VARIANTBOARD_H
#define VARIANTBOARD_H

#include <BTableWidget>
#include <BTreeWidget>
#include <BScript>

#include "Variant.h"

class VariantBoard : public BWidget
{
public:
	VariantBoard(BWidget* parent = 0);
	~VariantBoard();

	void freshStack();

protected:
	BTreeItem* createTreeItem(const Variant& variant);

protected:
	void slotAssetChanged(BObject* object, const BValue& value);
	void slotStackItemInserted(BObject* object);
	void slotStackItemRemoved(BObject* object);
	void slotStackItemSelected(BObject* object, const BValue& value);

private:
	BTableWidget*		_stackWidget;
	BTreeWidget*		_treeWidget;
	BHolder<BScript>	_script;
};

#endif
